﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace knfUpdateDataLayer.Aggiornamento
{
    public class ProceduraAggiornamento
    {
        private knfEntities _db = new knfEntities();

        public ProceduraAggiornamento()
        {
            //
            // TODO: Add constructor logic here
            //
        }

        public void ScriviNelDb(string section, string message)
        {
            Procedura_Update localData = new Procedura_Update();
            localData.procedura_sezione = section;
            localData.procedura_messaggio = message;
            localData.procedura_datetime = System.DateTime.Now;
            localData.procedura_status = false;
            _db.Procedura_Update.Add(localData);
            _db.SaveChanges();

        }

        public void ChiudiUltimaProceduraAperta()
        {
            var localProcedura = (from p in _db.Procedura_Update_Macro orderby p.macro_id descending select p).First();
            localProcedura.macro_stop_time = System.DateTime.Now;

            TimeSpan ts = localProcedura.macro_stop_time.Value - localProcedura.macro_start_time.Value;


            int MinutiTotali = (int)ts.TotalMinutes;

            localProcedura.macro_timespan = "Minuti: " + MinutiTotali.ToString();

            _db.SaveChanges();

            var localRighe = from p in _db.Procedura_Update where p.procedura_status == false select p;

            foreach (Procedura_Update tmpRiga in localRighe)
            {
                tmpRiga.procedura_status = true;
            }

            _db.SaveChanges();

        }


    }
}
